// import 'package:flutter/material.dart';
// import 'package:package_info_plus/package_info_plus.dart';
// import 'package:umeng_apm_sdk/umeng_apm_sdk.dart';
// import 'package:whale/helper/utils/util.dart';
// import 'package:whale/main.dart';

// typedef FutureCallback = Future<void> Function();

// class UMApmMan {
//   factory UMApmMan() => instance;
//   static final UMApmMan instance = UMApmMan._inteval();

//   UMApmMan._inteval() {
//     init();
//   }

//   void init() {}

//   void register({
//     required FutureCallback callback,
//   }) async {
//     // MyApmWidgetsFlutterBinding.ensureInitialized();
//     // PackageInfo packageInfo = await PackageInfo.fromPlatform();

//     final UmengApmSdk umengApmSdk = UmengApmSdk(
//       name: '绩效产品化',

//       bver: '1.0.0',

//       // 是否开启SDK运行时日志输出
//       enableLog: true,

//       // 您使用的flutter版本，默认为空，为方便定位访问，建议配置
//       flutterVersion: '3.22.1',

//       engineVersion: '3.4.1',

//       // 开启监测页面帧率（默认关闭) 版本 v2.1.3 可支持
//       enableTrackingPageFps: true,

//       // 开启监测页面性能（默认关闭）版本 v2.1.3 可支持
//       enableTrackingPagePerf: true,

//       // 带入继承ApmWidgetsFlutterBinding的覆写和初始化方法, 可用于自定义监听应用生命周期
//       // 确保去掉原有的WidgetsFlutterBinding.ensureInitialized() ，以免出现重复初始化绑定的异常造成无法正常初始化，SDK内部已通过initFlutterBinding入参带入继承的WidgetsFlutterBinding实现初始化操作
//       initFlutterBinding: MyApmWidgetsFlutterBinding.ensureInitialized,

//       // 抛出异常事件
//       onError: (exception, stack) {
//         print(exception);
//       },
//     );

//     umengApmSdk.init(appRunner: (observer) async {
//       // 确保去掉原有的WidgetsFlutterBinding.ensureInitialized() ，以免出现重复初始化绑定的异常造成无法正常初始化，SDK内部已通过initFlutterBinding入参带入继承的WidgetsFlutterBinding实现初始化操作
//       // 依赖ensureInitialized()初始化的代码可在此调用
//       // 需要异步获取设置应用名称和版本号可在此回调中操作
//       // SDK实例化的设置可先将name和bver 为 "",然后通过以下方式进行设置

//       await callback();
//       PackageInfo packageInfo = await PackageInfo.fromPlatform();
//       String packageName = packageInfo.packageName;
//       String buildNumber = packageInfo.buildNumber;
//       String version = packageInfo.version;
//       umengApmSdk.name = packageName;
//       umengApmSdk.bver = '$version+$buildNumber';
//       Get.log('umengApm--init');
//       return MyApp(observer);
//     });
//   }
// }

// class MyApmWidgetsFlutterBinding extends ApmWidgetsFlutterBinding {
//   @override
//   void handleAppLifecycleStateChanged(AppLifecycleState state) {
//     // 添加自己的实现逻辑
//     // print('AppLifecycleState changed to $state');
//     super.handleAppLifecycleStateChanged(state);
//   }

//   static WidgetsBinding? ensureInitialized() {
//     MyApmWidgetsFlutterBinding();
//     return WidgetsBinding.instance;
//   }
// }
